//
//  Utilities.m
//  wCityHB
//
//  Created by apple on 11-9-19.
//  Copyright 2011 __MyCompanyName__. All rights reserved.
//

#import "Utilities.h"

#import <sys/utsname.h>

@implementation Utilities

+ (uint) detectDevice {
	NSString *model= [[UIDevice currentDevice] model];
	
	// Some iPod Touch return "iPod Touch", others just "iPod"
	
	NSString *iPodTouch = @"iPod Touch";
	NSString *iPodTouchLowerCase = @"iPod touch";
	NSString *iPodTouchShort = @"iPod";
	
	NSString *iPhoneSimulator = @"iPhone Simulator";
	
	uint detected;
	
	if ([model compare:iPhoneSimulator] == NSOrderedSame) {
		// iPhone simulator
		detected = MODEL_IPHONE_SIMULATOR;
	} else if ([model compare:iPodTouch] == NSOrderedSame) {
		// iPod Touch
		detected = MODEL_IPOD_TOUCH;
	} else if ([model compare:iPodTouchLowerCase] == NSOrderedSame) {
		// iPod Touch
		detected = MODEL_IPOD_TOUCH;
	} else if ([model compare:iPodTouchShort] == NSOrderedSame) {
		// iPod Touch
		detected = MODEL_IPOD_TOUCH;
	} else {
		// Could be an iPhone V1 or iPhone 3G (model should be "iPhone")
		struct utsname u;
		
		// u.machine could be "i386" for the simulator, "iPod1,1" on iPod Touch, "iPhone1,1" on iPhone V1 & "iPhone1,2" on iPhone3G
		
		uname(&u);
		
		if (!strcmp(u.machine, "iPhone1,1")) {
			detected = MODEL_IPHONE;
		} else {
			detected = MODEL_IPHONE_3G;
		}
	}
	return detected;
}

@end
